100 REM INSERT CALCULATIONS TO BE MADE DURING DATA ENTRY REMEMBER F=FILE, Y=FIELD
101 REM change line 3405
102 RETURN
110 IF F=2 THEN LSET X$(F,9)=STR$(VAL(X$(F,1))+VAL(X$(F,3))+VAL(X$(F,5))+VAL(X$(F,7))):LSET X$(F,10)=STR$(VAL(X$(F,2))+VAL(X$(F,4))+VAL(X$(F,6))+VAL(X$(F,8))):LSET X$(F,11)=STR$(VAL(X$(F,9))+VAL(X$(F,10))):GOSUB 6100
1020 DIM U%(22):FOR I=0 TO 21:READ U%(I):NEXT:DATA&H8B55,&HB8EC,&H0600,&H07B7,&H768B,&H8A0C,&H8B2C,&HA76,&HC8A,&H768B,&H8A08,&H8B34,&H676,&H148A,&HCDFE,&HC9FE,&HCEFE,&HCAFE,&H10CD,&HCA5D,&H8,&H0
1035 F1=0:F2=1:F3=2: REM DEFAULT DATA ENTRY PARAMETERS
1040 DEF FNPN(S)=CVI(MID$(P$(0),S*2-1,2))
1041 DEF FNMFP(F)=CVI(MID$(P$(F),1,2))
1042 DEF FNNP(F)=CVI(MID$(P$(F),3,2))
1043 DEF FNL(Y)=7+(Y MOD 10)+(-10*(Y MOD 10 = 0))
1048 MF$="###################,.##"
1050 IF CHR$(SCREEN(2,27))<>"T" THEN CLS: COLOR 0,7:PRINT SPACE$(240):LOCATE 2,27:PRINT "The Omaha DataBase Program":LOCATE 1,1:PRINT"KEY";STRING$(78,"THEN");"CLOSE":LOCATE 2,1:PRINT "OPEN":LOCATE 2,80:PRINT "OPEN":LOCATE 3,1:PRINT "SCREEN";STRING$(78,"THEN");"LOAD": COLOR 7,0
1810 FI$(F)=DR$(F)+":"+F$(F):QZ=4:IF F=0 THEN QZ=10:
1820 OPEN FI$(F) AS #F+1 LEN=LL(F):FIELD #F+1,QZ AS P$(F):FOR Y=1 TO TE(F)
1830 IF QZ>510 THEN FIELD #F+1,255 AS Q1$,255 AS Q2$,QZ-510 AS Q3$,BL(F,Y) AS X$(F,Y) ELSE IF QZ>255 THEN FIELD #F+1,255 AS Q1$,QZ-255 AS Q2$,BL(F,Y) AS X$(F,Y) ELSE IF QZ=<255 THEN FIELD #F+1,QZ AS Q1$,BL(F,Y) AS X$(F,Y)
1840 QZ=QZ+BL(F,Y):NEXT
1850 RETURN
1860 FI$=DR$+":REC":OPEN FI$ FOR INPUT AS #7
1865 FOR G=0 TO TF:IF EOF(7) THEN 1880
1875 INPUT #7,NR(G),DL(G):NEXT:
1880 CLOSE #7:FOR G=0 TO TF: IF NR(G)=0 THEN NR(G)=1:
1890 NEXT
1900 RETURN: CLOSE #7
1910 FI$=DR$+":REC":OPEN FI$ FOR OUTPUT AS #7: FOR G=0 TO TF:WRITE#7,NR(G),DL(G):NEXT:CLOSE #7:RETURN
2040 DATA F1 ADD/CHANGE RECORDS,F2 SEARCH,F3 MONITOR DISPLAY OF RECORDS,,,F6 SET ENTRY PARAMETERS ,F7 HELP,F8 DISPLAY FILES/FIELDS,,F10 EXIT
2050 LOCATE 6,25:COLOR 25: PRINT "PRESS FUNCTION KEY FOR CHOICE":COLOR 7,0
2060 FOR G=1 TO 10:READ X$:LOCATE 9+G,25:PRINT X$:NEXT
2070 CH$=INKEY$: IF CH$="" THEN 2070
2080 IF ASC(LEFT$(CH$,1))=0 THEN 2100
2090 SOUND 50,3:GOTO 2120
2100 CH=ASC(MID$(CH$,2)): CH=CH-58
2110 ON CH GOTO 3270,4000,5000,2120,2120,7000,8000,8480,2120,8540
2120 SOUND 50,3: LOCATE 23,25: COLOR 9:PRINT "INCORRECT CHOICE":COLOR 7,0:FOR G=1 TO 1000:NEXT:LOCATE 23,25: PRINT " ":GOTO 2070
2130 REM INPUT ROUTINE
2140 NC=0:R=CSRLIN:C=POS(0):FLAG=0
2150 IN$="":FLAG=0
2160 DEF SEG=0:POKE &H6A,0:POKE 1052,PEEK(1050)
2170 C3=C+LEN(IN$):COLOR 18:IF T(F,Y)<>3 THEN 2180 ELSE C3=C+LEN(IN$)+(-1*(LEN(IN$)=>2))+(-1*(LEN(IN$)=>4))
2180 LOCATE R,C3:PRINT CHR$(SCREEN(R,C3))
2190 I$=INKEY$:IF I$="" THEN 2190
2200 COLOR 0,7:LOCATE R,C+LEN(IN$):PRINT CHR$(SCREEN(R,C+LEN(IN$)))
2210 IF ASC(LEFT$(I$,1))=0 THEN FLAG=ASC(MID$(I$,2))-58:SOUND 50,3:IF FLAG=55 THEN PFLAG=1:RETURN ELSE RETURN
2220 IF I$=CHR$(8) AND LEN(IN$)>0 THEN IN$=LEFT$(IN$,LEN(IN$)-1):LOCATE R,C:PRINT IN$;" ":GOTO 2170 ELSE IF I$=CHR$(8) AND LEN(IN$)=0 THEN SOUND 50,3:GOTO 2190
2230 IF I$<>CHR$(13) THEN NC=1:GOTO 2270
2240 IF IN$="" THEN NC=0:IN$=X$(F,Y):LSET X$(F,Y)=IN$:RETURN
2250 IF T(F,Y)<> 3 THEN LOCATE R,C:PRINT LEFT$(IN$+STRING$(50,32),BL(F,Y))
2260 IF T(F,Y)=4 THEN LOCATE R,C:PRINT USING RIGHT$(MF$,BL(F,Y)+2);VAL(IN$):RETURN ELSE RETURN
2270 IF I$=CHR$(27) THEN LOCATE R,C:PRINT STRING$(LEN(IN$),32);:GOTO 2170
2280 IF T(F,Y)=1 THEN 2320
2290 IF T(F,Y)=2 AND INSTR("0123456789+=-.Ee#",I$)=0 THEN SOUND 50,3:GOTO 2170
2300 IF T(F,Y)=3 AND INSTR("0123456789",I$)=0 THEN SOUND 50,3:GOTO 2170
2310 IF T(F,Y)=4 AND INSTR("01234567890+.-",I$)=0 THEN SOUND 50,3:GOTO 2170
2320 IF LEN(IN$)+1>BL(F,Y) THEN SOUND 50,3:GOTO 2170
2330 IN$=IN$+I$:WRT=1
2340 IF T(F,Y)<>3 THEN 2350 ELSE IF VAL(MID$(IN$,1,2))>12 THEN SOUND 50,3:GOTO 2150 ELSE IF VAL(MID$(IN$,3,2))>31 THEN SOUND 50,3:GOTO 2150
2350 IF T(F,Y)=1 OR T(F,Y)=2 OR T(F,Y)=4 THEN LOCATE R,C:PRINT IN$:GOTO 2170
2360 IF T(F,Y)=3 THEN LOCATE R,C: PRINT LEFT$(IN$,2);"/";MID$(IN$,3,2);"/";MID$(IN$,5,2):GOTO 2170
2370 STOP
2380 REM FLAG HANDLER
2390 COLOR 7,0:ON FLAG GOTO 2400,2410,2470,2420,2430,2500,2540,2550,2560,2570
2391 IF PFLAG THEN 8400
2400 COLOR 7,0: IF Y<>1 AND Y<>E1 OR F=F1 AND Y<>F2 THEN Y=Y-1:COLOR 7,0:LSET X$(F,Y+1)=IN$: RETURN 3380
2405 IF Y=E1 AND Y<>1 THEN E1=E1-10:E2=E1+9:Y=Y-1:GOSUB 6100:RETURN 3380 ELSE 2170
2410 IF Y<>TE(F) AND Y<E2 THEN LSET X$(F,Y-1)=IN$:COLOR 7,0:RETURN 3400 ELSE 2600
2420 IF F<>TF THEN GOSUB 1140:GOSUB 3140:F=F+1:X=FNPN(F):GOSUB 2720:RETURN 3360 ELSE GOTO 2170
2430 IF WRT<>0 THEN GOSUB 3140
2440 IF F=0 OR F3=1 THEN X=X+1:GOTO 2460:IF X=NR(F) THEN X=0:GOTO 2460
2450 IF F<>0 THEN LATLINK=X:X=FNNP(F):IF X=LATLINK THEN X=0
2455 IF X=0 THEN XM=XM+1: IF XM>0 AND XM<NR(0) THEN GET #1,XM: X=FNPN(F)
2460 GOTO 2720
2470 IF F<>0 THEN GOSUB 3140:F=F-1: ELSE 2170:
2480 IF F<>0 THEN X=FNPN(F):GOSUB 1140:GOSUB 2720:GOSUB 3010:GOSUB 6010:GOTO 2600
2490 IF F=0 THEN X=FNMFP(F+1):GOSUB 1140:GOSUB 2720:GOSUB 3010:GOSUB 6010:GOTO 2600 ELSE 2170
2500 IF FLAG=6 THEN GOSUB 3140:FC=F:F=0:X=XM+1:XM=XM+1:GOTO 2720
2510 IF X=NR(F) THEN X=0:GOSUB 2720:GOSUB 3010:GOTO 2530
2520 IF DFLAG=1 THEN DFLAG=0: WRT=0:GOTO 2500
2530 RETURN 3360
2540 IF FLAG=7 THEN LATLINK=0:LX=0:GOTO 2610
2550 IF FLAG=8 THEN 2830
2560 IF FLAG=9 THEN GET #F+1,X:RETURN 3360
2570 IF WRT=0 AND X+1=NR(F) AND X$(F,1)=STRING$(LEN(X$(F,1)),32) THEN NR(F)=NR(F)-1
2630 GOSUB 3140:GOSUB 1150: RX$="":LOCATE 22,3: IF F3=1 THEN PRINT "New Record Number (Physical order) ==> ";:GOTO 2650
2640 IF F3=2 THEN PRINT "New Record Number (Linked Order) ==> ";:RX$=""
2650 R=CSRLIN:C=POS(0)
2660 G$=INKEY$: IF G$="" THEN 2660
2670 IF G$=CHR$(13) THEN 2710
2680 IF ASC(LEFT$(G$,1))=0 THEN FLAG=ASC(MID$(G$,2))-58:SOUND 50,3:GOTO 2380
2690 IF G$=CHR$(8) AND LEN (RX$)>0 THEN RX$=MID$(RX$,1,LEN(RX$)-1):GOTO 2660
2700 RX$=RX$+G$:LOCATE R,C:PRINT RX$:GOTO 2660
2710 X=VAL(RX$):GOSUB 1150
2720 IF X<>0 THEN 2750
2730 IF DL(F)=0 THEN X=NR(F):NR(F)=NR(F)+1:FOR Y=1 TO TE(F):LSET X$(F,Y)=STRING$(200,32):NEXT:DELFLAG=1:NOREAD=1:LSET P$(F)=MKI$(XM)+ZER$:IF F=0 THEN XM=X:LSET P$(0)=ZER$:RETURN 3360
2740 IF DL(F)<>0 THEN X=DL(F):GET #F+1,X:DG=CVI(MID$(P$(F),3)):DELFLAG=1:LSET P$(F)=ZER$:FOR Y=1 TO TE(F):LSET X$(F,Y)=STRING$(200,32):NEXT:NOREAD=1:IF F=0 THEN XM=X:RETURN 3360 ELSE IF F<>0 THEN LSET P$(F)=MKI$(XM)+ZER$
2750 IF X=NR(F) THEN NR(F)=NR(F)+1
2760 GOSUB 3010: REM read record
2770 FC=F:XC=X:IF F3=2 AND F<>0 AND XM =0 THEN F=0:X=FNMFP(FC):IF X<>0 THEN NOREAD=0:GOSUB 3010
2780 F=FC:X=XC
2790 IF F<>0 AND XM=0 THEN DELFLAG=0:GOSUB 1277:IF NR(F)<=2 THEN NR(F)=1:F=0: X=0:XM=0:XC=0:FC=0:FRST=1:RETURN 3350 ELSE RETURN 3350: REM NEW RECORD NO LINKAGE...NOT ALLOWED
2800 IF FLAG=4 THEN RETURN
2810 IF FLAG=3 THEN RETURN 3360
2820 RETURN 3360
2830 REM DELETE RECORD
2840 IF X=0 THEN GOSUB 1276:RETURN 3350
2850 IF F<>0 THEN 2930
2860 IF F=0 AND TF<>0 THEN GOSUB 1150: LOCATE 21,3: INPUT "DO YOU WANT TO DELETE ANY RECORDS IN LINKED SUB-FILES (Y/N) ";AN$:IF AN$="y" OR AN$="Y" THEN 2870 ELSE IF AN$="n" OR AN$="N" THEN 2930 ELSE SOUND 50,3:GOSUB 1150:RETURN 3360
2870 LOCATE 22,3:PRINT "Enter ACCESS code ";:COLOR 31:PRINT "DELETE";:COLOR 7,0:INPUT " to proceed ====> ";AN$: IF AN$<>"DELETE" AND AN$<>"Delete" AND AN$<>"delete" THEN GOSUB 1270: GOTO 2600
2890 FC=F:GOSUB 1150:FOR F=TF TO 1 STEP -1: IF FNPN(F)=0 THEN 2910 ELSE X=FNPN(F):GET #F+1,X
2900 NX=FNNP(F):LSET P$(F)=D$+MKI$(DL(F)):IF X>NR(F) THEN 2910 ELSE FOR Y=1 TO TE(F):LSET X$(F,Y)=STRING$(255,"*"):NEXT:PUT #F+1,X:DL(F)=X:IF NX<>0 THEN X=NX:GET #F+1,X:GOTO 2900
2910 NEXT F:F=FC
2920 LSET P$(0)=D$+MKI$(DL(0)): FOR Y=1 TO TE(0):LSET X$(0,Y)=STRING$(50,"*"):NEXT:PUT #1,XM:DL(0)=XM:DELFLAG=1:GOSUB 1910:GOSUB 1150:X=XM:F=0:GOSUB 6010:RETURN 3350
2930 REM delete record only
2940 GOSUB 1150:LOCATE 22,3:PRINT "Enter ACCESS code ";:COLOR 31:PRINT "DELETE";:COLOR 7,0:INPUT " to proceed ====> ";AN$: IF AN$<>"DELETE" AND AN$<>"Delete" AND AN$<>"delete" THEN GOSUB 1270: GOTO 2600
2950 IF F=0 THEN 3000
2960 IF FNPN(F)=X THEN LSET P$(0)=MID$(P$(0),1,((F-1)*2))+MKI$(FNNP(F))+MID$(P$(0),1+(F*2)): PUT #1,XM:GOTO 3000:REM ERASE POINTER ON MASTER FILE IF FIRST RECORD IS DELETED
2970 AP=FNNP(F):LX=FNPN(F)
2980 GET #F+1,LX: IF FNNP(F)=X THEN LATLINK=LX ELSE IF LX<>X THEN LX=FNNP(F):GOTO 2980
2990 LSET P$(F)=MKI$(XM)+MKI$(AP):PUT #F+1,LX:REM DELETE POINTER ON PREVIOUS RECORD IN THE SAME SUB-FILE AND LINK TO POINTER FROM DELETED RECORD
3030 IF X=>NR(F) THEN SOUND 50,3:GOSUB 1275:RETURN 3350
3040 GET #F+1,X:IF LEFT$(P$(F),2)=D$ AND FLAG=6 THEN DFLAG=1:RETURN ELSE IF LEFT$(P$(F),2)=D$ THEN GOSUB 1279:RETURN 2610
3050 IF F=0 THEN XM=X:RETURN
3060 IF FNMFP(F)=0 THEN LSET P$(F)=MKI$(XM)+ZER$:GOTO 3080
3070 GET #1,FNMFP(F):XM=FNMFP(F)
3080 IF FNPN(F)=X THEN LATLINK=X:RETURN:REM FIRST IN SUB-FILE
3090 RETURN
3100 REM FIND LATLINK
3110 LX=FNPN(F)
3120 GET #F+1,LX: IF FNNP(F)=X OR FNNP(F)=0 THEN LATLINK=LX ELSE IF LX<> X THEN LX=FNNP(F):GOTO 3120
3130 RETURN
3140 REM PUT ROUTINE
3150 IF FRST=1 THEN FRST=0:RETURN
3160 IF WRT=0 AND NR(F)-1 <>X THEN RETURN ELSE IF WRT=0 AND NR(F)-1=X AND X$(F,1)=STRING$(LEN(X$(F,1)),32) THEN NR(F)=X:RETURN:REM RECORD NOT CHANGED
3165 IF DG<>0 THEN DL(F)=DG: DG=0: GOSUB 1910 :REM make sure deleted record is written on after it is chosen
3170 WRT=0:IF F<>0 THEN 3190
3180 PUT #1,X:GOSUB 1910:RETURN
3190 IF FNPN(F)=0 AND XM <>0 THEN LSET P$(0)=MID$(P$(0),1,(F-1)*2)+MKI$(X)+MID$(P$(0),(F*2)-1): PUT #1,XM: REM MASTER FILE LINKAGE ON FIRST LINKED RECORD IN SUB FILE
3200 REM LATERAL LINKAGE
3210 PUT #F+1,X:XC=X:GOSUB 3100:
3220 IF LATLINK=0 OR LATLINK=X THEN 3250
3230 IF LATLINK <>0 AND LATLINK <>X THEN GET #F+1,LATLINK:
3240 IF LATLINK <>0 AND FNMFP(F)=XM AND LATLINK <>XC THEN LSET P$(F)=MID$(P$(F),1,2)+MKI$(X):PUT #F+1,LATLINK: LATLINK=XC
3340 FOR F=0 TO TF:GOSUB 1800:NEXT:GOSUB 1860:FRST=1:F=F1
3350 GOSUB 2610
3360 GOSUB 6010:NOREAD=0:
3370 FOR Y=E1 TO E2
3380 LOCATE 8+Y-E1,17:GOSUB 2130:COLOR 7,0
3390 IF FLAG>0 THEN GOSUB 2380
3395 LSET X$(F,Y)=IN$
3396 IF NC=0 THEN 3560
3400 REM INSERT HERE IF F=FILE# THEN GOSUB 100 FOR CALCULATED FIELDS
3405 IF F=2 THEN GOSUB 100: REM check calculation
3560 NEXT
3565 IF Y<=TE(F) THEN GOSUB 1155: GOSUB 6030: GOTO 3370
3700 IF CHECK<>0 THEN 3750
3710 LOCATE 21,3: PRINT "You can press 'F4' to go to the next SUB-FILE.":LOCATE 22,3: PRINT "Any Corrections (Y/N/X) ('X' ..don't ask) ";
3720 A$=INKEY$: IF A$="" THEN 3720 ELSE GOSUB 1150
3730 IF ASC(LEFT$(A$,1))=0 THEN FLAG=ASC(MID$(A$,2))-58:SOUND 50,3:GOSUB 2380
3740 IF A$="y" OR A$="Y" THEN 3360 ELSE IF A$="x" OR A$="X" THEN CHECK=1
3750 GOSUB 3140: REM PUT
3760 OX=X:IF F=0 THEN X=X+1 ELSE IF F3=2 AND F<>0 THEN X=FNNP(F):
3770 IF F3=1 THEN X=X+1
3780 IF X<1 OR X=>NR(F) OR OX=X THEN X=0
3790 IF X<>0 THEN 3830
3800 A$="":IF F<>0 AND X=0 THEN SOUND 50,3:GOSUB 1150:LOCATE 21,3:PRINT "Press function keys for next record (F5 will be next linked record)":LOCATE 22,3: PRINT "If you want a new record linked to same master record press 'ENTER'"
3801 A$=INKEY$: IF A$="" THEN 3801 ELSE GOSUB 1150
3802 IF ASC(LEFT$(A$,1))=0 THEN FLAG=ASC(MID$(A$,2))-58:SOUND 50,3:GOSUB 2380
4050 SOUND 50,3:LOCATE 22,3: PRINT "Which Field do you want to begin with ( 1 -";TE(F)") ";:INPUT F$
4060 FI=VAL(F$): IF FI<1 OR FI>TE(F) THEN GOSUB 1270:GOTO 4050
4070 GOSUB 1150:LOCATE 21,3:PRINT "Field ====> ";T$(F,FI):LOCATE 22,3:INPUT "Enter item you wish to search for ===> ";SI$
4080 IF LEN(SI$)>BL(F,FI) THEN GOSUB 1270: GOTO 4070
4100 GOSUB 1150:LOCATE 21,3:PRINT "NOW ENTER RECORD NUMBER OF ";F$(F)" TO BEGIN SEARCH":LOCATE 22,3:INPUT "Beginning record number ===> ",BN$:BN=VAL(BN$)
4110 IF BN=0 OR BN>NR(F) THEN BN=1
4120 GOSUB 1130:GOSUB 1170: COLOR 9:LOCATE 4,1:PRINT "SEARCH":COLOR 7,0
4130 PRINT "You have indicated that you wish to search"
4140 LOCATE 8,1:PRINT " * FILE =====> ";F$(F)
4150 PRINT " * FIELD ====> ";T$(F,FI)
4160 PRINT " * ITEM =====> ";SI$
4170 PRINT " * BEG.# ====> ";BN
4180 LOCATE 22,3:INPUT "IS THIS OKAY (Y/N) ";AN$: IF AN$="N" OR AN$="n" THEN 4000
4190 TIMER OFF:CLS:GOSUB 1170
4200 LOCATE 21,3:PRINT "Press 'Q' to quit the search at any time"
6090 IF P<=TF THEN PRINT MID$(" "+STR$(FNPN(P))+" ",1,11);:P=P+1:GOTO 6090
6100 FOR Y2=E1 TO E2:
6110 COLOR 7,0:LOCATE 8+Y2-E1,1:PRINT LEFT$(STR$(Y2)+". "+T$(F,Y2)+" ",15);" ";:COLOR 0,7
6120 IF T(F,Y2)=1 OR T(F,Y2)=2 THEN PRINT X$(F,Y2):GOTO 6150
6130 IF T(F,Y2)=3 AND LEN(X$(F,Y2))>2 THEN PRINT MID$(X$(F,Y2),1,2);"/";MID$(X$(F,Y2),3,2);"/";MID$(X$(F,Y2),5,2):GOTO 6150 ELSE IF T(F,Y2)=3 THEN PRINT X$(F,Y2):GOTO 6150
6140 IF T(F,Y2)=4 THEN PRINT USING RIGHT$(MF$,BL(F,Y2)+2);VAL(X$(F,Y2))
8020 PRINT:PRINT"You are able to set the file and field that you wish to start with. For example if you wish to enter data into sub-file #2, beginning with the third field, you can set the parameters so that computer will jump to that location."
8030 PRINT"This is very handy if you are updating just one field within a file. If you are working with a sub-file, you will also be asked whether you wish"
8040 PRINT "the physical order or the linkage (master file) order. Thus if you are working with sub-file #2 and indicate the physical order, then when you want record #5, the computer will allow you to enter/view the 5th record in sub-file #2."
8050 PRINT:PRINT "However, if you prefer the linkage order, and indicate record #5, the computer will allow you to enter/view the record(s) within sub-file #2 that are LINKED to the 5th master file record."
8060 LOCATE 22,20:PRINT "<<<HIT ANY KEY>>>":COLOR 7,0
8070 A$=INKEY$:IF A$="" THEN 8070
8080 GOSUB 1130:COLOR 9: LOCATE 5,1: PRINT "REMEMBER";:COLOR 7,0:PRINT " These function key are in use during data entry:"
8090 COLOR 0,7:LOCATE 25,1:PRINT LIN$;:COLOR 7,0
8100 LOCATE 7,1:COLOR 15:PRINT "F1";:COLOR 7,0:PRINT " Will move up one field within the record"
8110 COLOR 15:PRINT "F2";:COLOR 7,0:PRINT " Will move down one field within the record"
8120 COLOR 15: PRINT "F3";:COLOR 7,0:PRINT " Will move up to previous sub-file"
8130 COLOR 15: PRINT "F4";:COLOR 7,0:PRINT " Will move down to next sub-file record linked to same master file ":PRINT " record."
8140 COLOR 15: PRINT "F5";:COLOR 7,0:PRINT " Will move to next record in the same sub file"
8150 COLOR 15: PRINT "F6";:COLOR 7,0:PRINT " Will move to next record in the Master File."
8160 COLOR 15: PRINT "F7";:COLOR 7,0:PRINT " Will allow you to pick any record number to enter/view. If you have chosen":PRINT" the physical order, it will be the number of the record you specify. If you"
8170 PRINT " have chosen the linkage order, it will be the record linked to the record number of the Master file which you specify."
8180 COLOR 15:PRINT "F8";:COLOR 7,0: PRINT " Will delete the record you are working on. If you are in the Master File":PRINT" you will be able to delete all linked sub-records too."
8190 COLOR 15:PRINT "F9";:COLOR 7,0:PRINT " Will read original record from the disk if it has not yet been re-written."
8200 COLOR 15:PRINT "F10";:COLOR 7,0:PRINT " Will return to menu"
8210 LOCATE 23,20:PRINT "<<<HIT ANY KEY>>>"
8220 A$=INKEY$:IF A$="" THEN 8220 ELSE 8230
8230 GOSUB 1130:GOSUB 1170:COLOR 9: LOCATE 5,1: PRINT "REMEMBER";:COLOR 7,0:PRINT " These function key are in use during monitor display"
8240 COLOR 0,7:LOCATE 25,1:PRINT LIN2$;:COLOR 7,0
8250 LOCATE 7,1:COLOR 15:PRINT "F1";:COLOR 7,0:PRINT " Will move back one record in the file you are viewing"
8260 COLOR 15:PRINT "F2";:COLOR 7,0:PRINT " Will move forward one record in the file you are viewing"
8270 COLOR 15: PRINT "F3";:COLOR 7,0:PRINT " Will move up one file to previous sub-file or master file"
8280 COLOR 15: PRINT "F4";:COLOR 7,0:PRINT " Will move down one file to next sub-file"
8290 COLOR 15: PRINT "F5";:COLOR 7,0:PRINT " Will move back one record in the master file"
8300 COLOR 15: PRINT "F6";:COLOR 7,0:PRINT " Will move forward one record in the master file"
8310 COLOR 15: PRINT "F7";:COLOR 7,0:PRINT " Will allow you to switch from viewing records in physical order to":PRINT" linked order or vice versa"
8330 COLOR 15:PRINT "F8";:COLOR 7,0: PRINT " Will allow you to view remainder of record if it has more than 11":PRINT " fields and cannot be displayed on one screen at once"
8340 COLOR 15:PRINT "F9";:COLOR 7,0:PRINT " Will allow you to choose any record number "
8350 COLOR 15:PRINT "F10";:COLOR 7,0:PRINT " Will return to menu"
8360 LOCATE 22,20:PRINT "<<<HIT ANY KEY>>>"
8370 A$=INKEY$:IF A$="" THEN 8370 ELSE 2000
8400 REM .................ADJUSTING POINTERS.......................
8410 REM reached by pressing ALT-F10
8420 GOSUB 1150:LOCATE 22,3: INPUT "Enter Master Record linkage number ===> ";PP$: PP=VAL(PP$): IF PP>NR(0) THEN GOSUB 1240: GOTO 8420
8430 IF PP<1 THEN GOSUB 1150:RETURN
8440 GET #1,PP:GOSUB 6000: LOCATE 21,3: PRINT "Master Record # ===> ";PP
8450 LOCATE 22,3: INPUT "Is this the MASTER for this sub-file record(Y/N) ";AN$
8460 IF AN$="y" OR AN$="Y" THEN LSET P$(F)=MKI$(PP)+MKI$(0): PUT #F+1,X ELSE 8420
8470 GOSUB 1150: RETURN
8480 REM DISPLAY FILES/FIELDS
8490 GOSUB 1130:GOSUB 1170:GOSUB 8670
8500 LOCATE 22,3: INPUT "Indicate number of file you wish to view ";F$:F=VAL(F$):IF F>TF THEN SOUND 50,3:GOSUB 1270: GOTO 8500
8510 GOSUB 1140:
8520 GOSUB 8570:GOSUB 1150: LOCATE 22,3: INPUT "Press the 'Enter' key to return to the menu.";AN$: CLOSE:GOTO 2000
8530 STOP
8540 REM EXIT
8550 RESET:RUN "MENU
8560 COLOR 9:PRINT "F10":COLOR 7,0:PRINT " Return to Menu"
8580 LOCATE 7,1: COLOR 9:PRINT "# TITLE TYPE BEGINNING LENGTH":COLOR 15
8590 E1=1:GOTO 8600
8600 IF E1+9>TE(F) THEN E2=TE(F) ELSE E2=E1+9
8610 GOSUB 1155:FOR Y=E1 TO E2
8620 LOCATE 7+(Y MOD 10)+(-10*(Y MOD 10 = 0)),1:PRINT Y". ";LEFT$(T$(F,Y)+" ",24);
8630 LOCATE ,22:IF T(F,Y)=1 THEN PRINT "ALPHA "; ELSE IF T(F,Y)=2 THEN PRINT "NUMBER"; ELSE IF T(F,Y)=3 THEN PRINT "DATE "; ELSE IF T(F,Y)=4 THEN PRINT "$$$.$$"; ELSE PRINT " ";
8640 PRINT " ";BB(F,Y);" ";BL(F,Y):NEXT:COLOR 7,0
8650 GOSUB 1150: IF E2<TE(F) THEN LOCATE 22,3: INPUT "Press the 'ENTER' key to continue ";AN$: E1=E2+1:COLOR 15:GOTO 8600
8660 RETURN
8670 REM
8680 LOCATE 6,20:COLOR 15: PRINT "You have these files:": FOR F=0 TO TF: LOCATE ,20:PRINT F". ";F$(F):NEXT:COLOR 7,0:RETURN
8750 OLDROW=CSRLIN:OLDCOL=POS(0):OPEN "ERROR" AS #7 LEN=176:FIELD #7,35 AS ER$(1),70 AS ER$(2),70 AS ER$(3):GET#7,ERR
8760 LOCATE 20,3:PRINT LEFT$(ER$(1),INSTR(ER$(1)," ")+(-40*INSTR(ER$(1)," ")=0));" IN LINE ";ERL;" (Press any key)":LOCATE 21,3:PRINT ER$(2):LOCATE 22,3:PRINT ER$(3):PLAY"MB":J9=2:FOR I9=1 TO 9:PLAY"L64T255O=J9;CC#DD#EFF#GG#AA#B":NEXT
8770 AE$=INKEY$:IF AE$=""THEN 8770 ELSE FOR EL=20 TO 22:LOCATE EL,3:PRINT STRING$(76,32);:NEXT:LOCATE OLDROW,OLDCOL:CLOSE#3:RESUME
8780 REM **********************************************************
8790 REM **********************************************************
8800 REM ** COPYRIGHT (C) 1984 GERALD E. GONDERINGER **
8810 REM ** The Omaha DataBase Program **
8820 REM ** $50.00 REGISTRATION FEE FOR USE OF PROGRAM **
8830 REM **********************************************************
8840 REM **********************************************************
8850 CLS:COLOR 15,0:LOCATE 10,20:PRINT"***** ADAPTATIONS ROUTINE *****":SOUND 50,3:COLOR 7,0:LOCATE 15,20:PRINT"** ENTER PASS CODE TO PROCEED **":DEF SEG:POKE &H6A,0:DEF SEG=0:POKE 1052,PEEK(1050)